/**
 * 第5章 构建Spring Web应用程序
 * 项目访问根路径：http://localhost:8888/q1-ch05a-Spittr
 * 代码清单-q1ch05a-138页a：配置DispatcherServlet {@link top.kaoshanji.q1ch05a.config.SpitterWebInitializer}
 * 代码清单-q1ch05a-141页a：最小但可用的Spring MVC配置 {@link top.kaoshanji.q1ch05a.web.WebConfig}
 * 代码清单-q1ch05a-143页a：超级简单的控制器 {@link top.kaoshanji.q1ch05a.web.HomeController}
 * 代码清单-q1ch05a-150页a：在模型中放入最新的spittle列表 {@link top.kaoshanji.q1ch05a.web.SpittleController#spittleList(long, int, org.springframework.ui.Model)}
 * 代码清单-q1ch05a-156页a：通过路径参数接受输入 {@link top.kaoshanji.q1ch05a.web.SpittleController#spittleDetail(long, org.springframework.ui.Model)}
 * 代码清单-q1ch05a-158页a：展现一个表单，允许用户注册该应用 {@link top.kaoshanji.q1ch05a.web.SpitterController#showRegistrationForm()}
 * 代码清单-q1ch05a-161页a：处理所提交的表单并注册新用户 {@link top.kaoshanji.q1ch05a.web.SpitterController#processRegistration(top.kaoshanji.q1ch05a.model.Spitter, org.springframework.validation.Errors)}
 * 代码清单-q1ch05a-162页a：显式用户详情 {@link top.kaoshanji.q1ch05a.web.SpitterController#spitterDetail(java.lang.String, org.springframework.ui.Model)} )}
 * 代码清单-q1ch05a-165页a：确保所提交的数据是合法的 {@link top.kaoshanji.q1ch05a.web.SpitterController#processRegistration(top.kaoshanji.q1ch05a.model.Spitter, org.springframework.validation.Errors)}
 *
 * @author kaoshanji
 * ^_^
 * create time 2025/4/23 19:53
 */
package top.kaoshanji.q1ch05a;